package com.ete.service.callback.version

import com.ete.service.entry.version.VersionUpgradeInfo
import com.ete.service.manager.log.LogManager
import com.ete.service.service.version.VersionHelper
import com.ete.service.util.log.EteLog

/**
 * Author:LiXian
 * <p>
 * Desc:静默回调
 *
 * 注：用于静默检测，是否有新版本，没有加载框，返回是否有新版本
 * Version:1.0
 * date 2023/12/27 14:10
 */
abstract class SilentCheckCallback : IVersionCallback {

    override fun onStart() {
        EteLog.d(LogManager.TAG, "SilentCallback 开始获取最新版本信息")
    }

    override fun onError(errorMsg: String) {
        EteLog.d(LogManager.TAG, "SilentCallback 获取最新版本信息错误 errorMsg:[${errorMsg}]")
        isHadNewVersion(false)
    }

    override fun onNoNewVersion() {
        EteLog.d(LogManager.TAG, "SilentCallback 无最新版本信息")
        isHadNewVersion(false)
    }

    override fun onVersionInfo(mVersion: VersionUpgradeInfo) {
        EteLog.d(LogManager.TAG, "SilentCallback 获取到最新版本信息mVersion:[${mVersion}]")
        val isHadVersion = VersionHelper.isHadNewVersion(mVersion)
        EteLog.d(LogManager.TAG, "SilentCallback 是否有新版本isHadVersion:[$isHadVersion]")
        isHadNewVersion(isHadVersion)
    }

    //是否有新版本
    abstract fun isHadNewVersion(isHadNewVersion: Boolean)

}